[INFO] fetching crate nanobook 0.9.2...
[INFO] testing nanobook-0.9.2 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065-1
[INFO] extracting crate nanobook 0.9.2 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate nanobook 0.9.2
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate nanobook 0.9.2
[INFO] tweaked toml for crates.io crate nanobook 0.9.2 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate nanobook 0.9.2 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate nanobook 0.9.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1f175dd706bbe382bebf648f52a7f477458ad3d3399e7140930e03540d56d6b6
[INFO] running `Command { std: "docker" "start" "-a" "1f175dd706bbe382bebf648f52a7f477458ad3d3399e7140930e03540d56d6b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1f175dd706bbe382bebf648f52a7f477458ad3d3399e7140930e03540d56d6b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1f175dd706bbe382bebf648f52a7f477458ad3d3399e7140930e03540d56d6b6", kill_on_drop: false }`
[INFO] [stdout] 1f175dd706bbe382bebf648f52a7f477458ad3d3399e7140930e03540d56d6b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6d2f2d4788ebcd4e96517afaf8afc045d5a423657395fb89c65c8ad51a25e802
[INFO] running `Command { std: "docker" "start" "-a" "6d2f2d4788ebcd4e96517afaf8afc045d5a423657395fb89c65c8ad51a25e802", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling nanobook v0.9.2 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.47s
[INFO] running `Command { std: "docker" "inspect" "6d2f2d4788ebcd4e96517afaf8afc045d5a423657395fb89c65c8ad51a25e802", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d2f2d4788ebcd4e96517afaf8afc045d5a423657395fb89c65c8ad51a25e802", kill_on_drop: false }`
[INFO] [stdout] 6d2f2d4788ebcd4e96517afaf8afc045d5a423657395fb89c65c8ad51a25e802
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b0dade199a2b3628cb0dc5fdf6c93ad30348bb79b105f464aa873d12c2789316
[INFO] running `Command { std: "docker" "start" "-a" "b0dade199a2b3628cb0dc5fdf6c93ad30348bb79b105f464aa873d12c2789316", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling zmij v1.0.19
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling nanobook v0.9.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.10.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "b0dade199a2b3628cb0dc5fdf6c93ad30348bb79b105f464aa873d12c2789316", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0dade199a2b3628cb0dc5fdf6c93ad30348bb79b105f464aa873d12c2789316", kill_on_drop: false }`
[INFO] [stdout] b0dade199a2b3628cb0dc5fdf6c93ad30348bb79b105f464aa873d12c2789316
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5dd47a33925ef1336c8e304b93c42814784f190322aa4c46e99582e52f4fdf0b
[INFO] running `Command { std: "docker" "start" "-a" "5dd47a33925ef1336c8e304b93c42814784f190322aa4c46e99582e52f4fdf0b", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.19s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/nanobook-268f0e4b4e9e34b8)
[INFO] [stdout] 
[INFO] [stdout] running 234 tests
[INFO] [stdout] test book::tests::add_and_get_order ... ok
[INFO] [stdout] test book::tests::cancel_already_cancelled ... ok
[INFO] [stdout] test book::tests::cancel_nonexistent_order ... ok
[INFO] [stdout] test book::tests::add_order_updates_best_prices ... ok
[INFO] [stdout] test book::tests::clear_history_removes_inactive_orders ... ok
[INFO] [stdout] test book::tests::cancel_order ... ok
[INFO] [stdout] test book::tests::multiple_price_levels ... ok
[INFO] [stdout] test book::tests::new_book_is_empty ... ok
[INFO] [stdout] test book::tests::opposite_side ... ok
[INFO] [stdout] test book::tests::peek_order_id_does_not_consume ... ok
[INFO] [stdout] test book::tests::spread_calculation ... ok
[INFO] [stdout] test book::tests::id_generation_is_monotonic ... ok
[INFO] [stdout] test cv::tests::expanding_window ... ok
[INFO] [stdout] test cv::tests::basic_split ... ok
[INFO] [stdout] test cv::tests::large_dataset ... ok
[INFO] [stdout] test cv::tests::no_overlap ... ok
[INFO] [stdout] test cv::tests::single_split ... ok
[INFO] [stdout] test cv::tests::too_few_samples ... ok
[INFO] [stdout] test error::tests::is_error ... ok
[INFO] [stdout] test error::tests::display ... ok
[INFO] [stdout] test event::tests::apply_all ... ok
[INFO] [stdout] test event::tests::apply_cancel ... ok
[INFO] [stdout] test event::tests::apply_submit_limit ... ok
[INFO] [stdout] test event::tests::apply_modify ... ok
[INFO] [stdout] test event::tests::apply_submit_with_trade ... ok
[INFO] [stdout] test event::tests::clear_events ... ok
[INFO] [stdout] test event::tests::replay_complex_scenario ... ok
[INFO] [stdout] test event::tests::replay_produces_identical_state ... ok
[INFO] [stdout] test event::tests::replay_with_cancels ... ok
[INFO] [stdout] test cv::tests::zero_splits ... ok
[INFO] [stdout] test event::tests::event_constructors ... ok
[INFO] [stdout] test exchange::tests::cancel_already_filled ... ok
[INFO] [stdout] test exchange::tests::cancel_nonexistent ... ok
[INFO] [stdout] test exchange::tests::cancel_order ... ok
[INFO] [stdout] test exchange::tests::cancel_stop_order ... ok
[INFO] [stdout] test exchange::tests::cancel_trailing_stop ... ok
[INFO] [stdout] test exchange::tests::depth_snapshot ... ok
[INFO] [stdout] test exchange::tests::immediate_trigger_if_price_already_past ... ok
[INFO] [stdout] test exchange::tests::modify_nonexistent ... ok
[INFO] [stdout] test event::tests::replay_with_stop_orders ... ok
[INFO] [stdout] test exchange::tests::modify_with_immediate_fill ... ok
[INFO] [stdout] test exchange::tests::modify_zero_quantity ... ok
[INFO] [stdout] test exchange::tests::modify_order ... ok
[INFO] [stdout] test event::tests::events_are_equal ... ok
[INFO] [stdout] test event::tests::replay_with_modifies ... ok
[INFO] [stdout] test exchange::tests::stop_limit_triggers_with_limit_price ... ok
[INFO] [stdout] test exchange::tests::stop_market_triggers_on_trade ... ok
[INFO] [stdout] test exchange::tests::submit_fok_full_fill ... ok
[INFO] [stdout] test exchange::tests::submit_fok_rejected_insufficient_liquidity ... ok
[INFO] [stdout] test exchange::tests::submit_fok_rejected_no_liquidity ... ok
[INFO] [stdout] test exchange::tests::submit_ioc_full_fill ... ok
[INFO] [stdout] test book::tests::get_order_mut ... ok
[INFO] [stdout] test book::tests::is_crossed ... ok
[INFO] [stdout] test exchange::tests::submit_ioc_no_fill ... ok
[INFO] [stdout] test exchange::tests::submit_limit_partial_fill_gtc ... ok
[INFO] [stdout] test exchange::tests::submit_ioc_partial_fill ... ok
[INFO] [stdout] test exchange::tests::submit_limit_no_match ... ok
[INFO] [stdout] test exchange::tests::submit_market_full_fill ... ok
[INFO] [stdout] test exchange::tests::submit_market_no_liquidity ... ok
[INFO] [stdout] test exchange::tests::sell_stop_triggers_on_price_drop ... ok
[INFO] [stdout] test exchange::tests::submit_stop_market_pending ... ok
[INFO] [stdout] test exchange::tests::stop_cascade ... ok
[INFO] [stdout] test exchange::tests::trailing_stop_does_not_trigger_immediately ... ok
[INFO] [stdout] test exchange::tests::trailing_stop_percentage_method ... ok
[INFO] [stdout] test exchange::tests::trailing_stop_market_sell ... ok
[INFO] [stdout] test exchange::tests::trailing_stop_triggers_on_reversal ... ok
[INFO] [stdout] test exchange::tests::submit_limit_full_fill ... ok
[INFO] [stdout] test exchange::tests::try_submit_limit_zero_price ... ok
[INFO] [stdout] test exchange::tests::try_submit_market_valid ... ok
[INFO] [stdout] test exchange::tests::try_submit_market_zero_quantity ... ok
[INFO] [stdout] test exchange::tests::submit_market_partial_fill ... ok
[INFO] [stdout] test exchange::tests::trades_are_recorded ... ok
[INFO] [stdout] test exchange::tests::try_submit_limit_negative_price ... ok
[INFO] [stdout] test garch::tests::invalid_input_falls_back ... ok
[INFO] [stdout] test garch::tests::qtrade_reference_fixture_targets ... ok
[INFO] [stdout] test garch::tests::short_series_is_stable ... ok
[INFO] [stdout] test indicators::tests::atr_lookback_nan ... ok
[INFO] [stdout] test indicators::tests::bbands_basic ... ok
[INFO] [stdout] test indicators::tests::bbands_constant_price ... ok
[INFO] [stdout] test indicators::tests::empty_input ... ok
[INFO] [stdout] test exchange::tests::try_submit_limit_valid ... ok
[INFO] [stdout] test garch::tests::forecast_is_finite_on_valid_input ... ok
[INFO] [stdout] test indicators::tests::macd_basic ... ok
[INFO] [stdout] test book::tests::multiple_orders_same_price ... ok
[INFO] [stdout] test indicators::tests::rsi_bounds ... ok
[INFO] [stdout] test indicators::tests::rsi_constant_price ... ok
[INFO] [stdout] test indicators::tests::atr_basic ... ok
[INFO] [stdout] test exchange::tests::try_submit_limit_zero_quantity ... ok
[INFO] [stdout] test garch::tests::forecast_handles_constant_mean_mode ... ok
[INFO] [stdout] test indicators::tests::rsi_lookback_nan ... ok
[INFO] [stdout] test indicators::tests::insufficient_data ... ok
[INFO] [stdout] test level::tests::new_level_is_empty ... ok
[INFO] [stdout] test level::tests::pop_front_fifo_order ... ok
[INFO] [stdout] test indicators::tests::rsi_monotonic_up ... ok
[INFO] [stdout] test level::tests::quantity_saturates_on_underflow ... ok
[INFO] [stdout] test level::tests::front_skips_tombstones ... ok
[INFO] [stdout] test level::tests::remove_from_back ... ok
[INFO] [stdout] test level::tests::iter_returns_fifo_order ... ok
[INFO] [stdout] test level::tests::push_back_adds_orders ... ok
[INFO] [stdout] test level::tests::tombstone_compaction ... ok
[INFO] [stdout] test level::tests::remove_nonexistent_returns_false ... ok
[INFO] [stdout] test level::tests::remove_from_front ... ok
[INFO] [stdout] test level::tests::tombstone_marking ... ok
[INFO] [stdout] test level::tests::remove_from_middle ... ok
[INFO] [stdout] test matching::tests::full_fill_incoming_smaller ... ok
[INFO] [stdout] test matching::tests::fifo_same_price ... ok
[INFO] [stdout] test matching::tests::incoming_order_state_after_partial_fill ... ok
[INFO] [stdout] test matching::tests::match_clears_multiple_levels ... ok
[INFO] [stdout] test matching::tests::no_match_empty_book ... ok
[INFO] [stdout] test matching::tests::full_fill_exact_quantity ... ok
[INFO] [stdout] test level::tests::decrease_quantity_for_partial_fill ... ok
[INFO] [stdout] test matching::tests::incoming_order_state_after_full_fill ... ok
[INFO] [stdout] test matching::tests::no_match_prices_dont_cross ... ok
[INFO] [stdout] test indicators::tests::rsi_monotonic_down ... ok
[INFO] [stdout] test matching::tests::price_improvement_for_buyer ... ok
[INFO] [stdout] test matching::tests::price_improvement_for_seller ... ok
[INFO] [stdout] test matching::tests::partial_fill_incoming_larger ... ok
[INFO] [stdout] test matching::tests::price_priority_sell_sweeps_bids ... ok
[INFO] [stdout] test matching::tests::price_priority_buy_sweeps_asks ... ok
[INFO] [stdout] test matching::tests::trade_ids_are_sequential ... ok
[INFO] [stdout] test multi_exchange::tests::empty ... ok
[INFO] [stdout] test multi_exchange::tests::independent_books ... ok
[INFO] [stdout] test multi_exchange::tests::create_and_query ... ok
[INFO] [stdout] test multi_exchange::tests::symbols_iter ... ok
[INFO] [stdout] test optimize::tests::cdar_weights_are_valid ... ok
[INFO] [stdout] test optimize::tests::invalid_matrix_returns_empty ... ok
[INFO] [stdout] test optimize::tests::cvar_weights_are_valid ... ok
[INFO] [stdout] test matching::tests::timestamps_are_sequential ... ok
[INFO] [stdout] test matching::tests::available_to_fill ... ok
[INFO] [stdout] test matching::tests::can_fully_fill ... ok
[INFO] [stdout] test optimize::tests::max_sharpe_weights_are_valid ... ok
[INFO] [stdout] test order::tests::cancel_new_order ... ok
[INFO] [stdout] test order::tests::cancel_partially_filled_order ... ok
[INFO] [stdout] test optimize::tests::min_variance_weights_are_valid ... ok
[INFO] [stdout] test optimize::tests::risk_parity_weights_are_valid ... ok
[INFO] [stdout] test order::tests::full_fill ... ok
[INFO] [stdout] test order::tests::multiple_partial_fills ... ok
[INFO] [stdout] test order::tests::new_order_initial_state ... ok
[INFO] [stdout] test order::tests::order_status_is_active ... ok
[INFO] [stdout] test order::tests::order_status_is_terminal ... ok
[INFO] [stdout] test multi_exchange::tests::multiple_symbols ... ok
[INFO] [stdout] test order::tests::partial_fill ... ok
[INFO] [stdout] test order::tests::quantity_invariant_holds ... ok
[INFO] [stdout] test price_levels::tests::asks_best_is_lowest ... ok
[INFO] [stdout] test price_levels::tests::asks_remove_best_updates_cache ... ok
[INFO] [stdout] test price_levels::tests::best_level_mut_allows_modification ... ok
[INFO] [stdout] test price_levels::tests::bids_best_is_highest ... ok
[INFO] [stdout] test price_levels::tests::bids_remove_best_updates_cache ... ok
[INFO] [stdout] test price_levels::tests::insert_multiple_orders_same_price ... ok
[INFO] [stdout] test price_levels::tests::iter_asks_best_to_worst ... ok
[INFO] [stdout] test price_levels::tests::iter_bids_best_to_worst ... ok
[INFO] [stdout] test price_levels::tests::new_asks_is_empty ... ok
[INFO] [stdout] test price_levels::tests::new_bids_is_empty ... ok
[INFO] [stdout] test price_levels::tests::pop_best_level ... ok
[INFO] [stdout] test price_levels::tests::quantity_at_or_better_asks ... ok
[INFO] [stdout] test price_levels::tests::quantity_at_or_better_bids ... ok
[INFO] [stdout] test price_levels::tests::remove_nonexistent_order ... ok
[INFO] [stdout] test optimize::tests::qtrade_reference_fixture_targets ... ok
[INFO] [stdout] test price_levels::tests::remove_order_keeps_nonempty_level ... ok
[INFO] [stdout] test price_levels::tests::remove_order_removes_empty_level ... ok
[INFO] [stdout] test price_levels::tests::total_quantity ... ok
[INFO] [stdout] test side::tests::display ... ok
[INFO] [stdout] test side::tests::opposite ... ok
[INFO] [stdout] test snapshot::tests::full_snapshot ... ok
[INFO] [stdout] test side::tests::opposite_is_involution ... ok
[INFO] [stdout] test snapshot::tests::imbalance_balanced ... ok
[INFO] [stdout] test snapshot::tests::imbalance_bid_heavy ... ok
[INFO] [stdout] test snapshot::tests::snapshot_with_orders ... ok
[INFO] [stdout] test snapshot::tests::imbalance_empty ... ok
[INFO] [stdout] test snapshot::tests::snapshot_depth_limit ... ok
[INFO] [stdout] test snapshot::tests::empty_snapshot ... ok
[INFO] [stdout] test snapshot::tests::weighted_mid_empty ... ok
[INFO] [stdout] test snapshot::tests::weighted_mid_equal_qty ... ok
[INFO] [stdout] test stats::tests::quintile_spread_basic ... ok
[INFO] [stdout] test stats::tests::ln_gamma_known_values ... ok
[INFO] [stdout] test snapshot::tests::weighted_mid_skewed ... ok
[INFO] [stdout] test stats::tests::quintile_spread_invalid ... ok
[INFO] [stdout] test stats::tests::quintile_spread_zero_for_random ... ok
[INFO] [stdout] test stats::tests::rankdata_empty ... ok
[INFO] [stdout] test stats::tests::rankdata_no_ties ... ok
[INFO] [stdout] test stats::tests::rankdata_with_ties ... ok
[INFO] [stdout] test stats::tests::spearman_perfect_positive ... ok
[INFO] [stdout] test stats::tests::spearman_perfect_negative ... ok
[INFO] [stdout] test stats::tests::spearman_too_few ... ok
[INFO] [stdout] test stop::tests::cancel_pending ... ok
[INFO] [stdout] test stop::tests::cancel_nonexistent_returns_false ... ok
[INFO] [stdout] test stop::tests::clear_history ... ok
[INFO] [stdout] test book::tests::add_duplicate_order_panics - should panic ... ok
[INFO] [stdout] test stop::tests::insert_and_get ... ok
[INFO] [stdout] test stop::tests::clear_history_cleans_trailing_ids ... ok
[INFO] [stdout] test stop::tests::contains_pending ... ok
[INFO] [stdout] test stats::tests::spearman_unequal_length ... ok
[INFO] [stdout] test stop::tests::trailing_buy_stop_fixed ... ok
[INFO] [stdout] test stop::tests::trailing_sell_stop_fixed ... ok
[INFO] [stdout] test stop::tests::trailing_stop_atr ... ok
[INFO] [stdout] test stop::tests::trailing_stop_cancel ... ok
[INFO] [stdout] test stop::tests::trailing_stop_percentage ... ok
[INFO] [stdout] test stop::tests::trailing_stop_preserves_initial_on_adverse_move ... ok
[INFO] [stdout] test stop::tests::trigger_across_price_levels ... ok
[INFO] [stdout] test stop::tests::trailing_and_regular_stops_coexist ... ok
[INFO] [stdout] test stop::tests::trigger_buy_stop ... ok
[INFO] [stdout] test order::tests::cancel_filled_order_panics - should panic ... ok
[INFO] [stdout] test stop::tests::trigger_sell_stop ... ok
[INFO] [stdout] test order::tests::fill_exceeds_remaining_panics - should panic ... ok
[INFO] [stdout] test tif::tests::allows_partial ... ok
[INFO] [stdout] test stop::tests::trailing_stop_reindexes_in_btreemap ... ok
[INFO] [stdout] test tif::tests::can_rest ... ok
[INFO] [stdout] test order::tests::cancel_already_cancelled_panics - should panic ... ok
[INFO] [stdout] test stop::tests::trigger_multiple_at_same_price ... ok
[INFO] [stdout] test tif::tests::default_is_gtc ... ok
[INFO] [stdout] test tif::tests::display ... ok
[INFO] [stdout] test trade::tests::notional_value ... ok
[INFO] [stdout] test trade::tests::display ... ok
[INFO] [stdout] test trade::tests::trade_creation ... ok
[INFO] [stdout] test trade::tests::passive_side ... ok
[INFO] [stdout] test trade::tests::vwap_single_trade ... ok
[INFO] [stdout] test trade::tests::vwap_empty ... ok
[INFO] [stdout] test trade::tests::vwap_multiple_trades ... ok
[INFO] [stdout] test types::tests::symbol_debug ... ok
[INFO] [stdout] test types::tests::price_display ... ok
[INFO] [stdout] test types::tests::symbol_display ... ok
[INFO] [stdout] test stop::tests::stop_limit_order ... ok
[INFO] [stdout] test types::tests::price_ordering ... ok
[INFO] [stdout] test types::tests::order_id_display ... ok
[INFO] [stdout] test types::tests::symbol_copy ... ok
[INFO] [stdout] test stop::tests::fifo_ordering_across_sides ... ok
[INFO] [stdout] test types::tests::symbol_max_length ... ok
[INFO] [stdout] test types::tests::symbol_new ... ok
[INFO] [stdout] test types::tests::symbol_ordering ... ok
[INFO] [stderr]      Running unittests src/bin/lob.rs (/opt/rustwide/target/debug/deps/lob-9726ccd78424fb9c)
[INFO] [stdout] test types::tests::trade_id_display ... ok
[INFO] [stdout] test types::tests::symbol_empty ... ok
[INFO] [stdout] test types::tests::symbol_hash_eq ... ok
[INFO] [stdout] test types::tests::symbol_try_new_too_long ... ok
[INFO] [stdout] test types::tests::symbol_new_panics_too_long - should panic ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 234 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/edge_cases.rs (/opt/rustwide/target/debug/deps/edge_cases-9633ffd431c49e55)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test cancel_already_triggered_stop ... ok
[INFO] [stdout] test cancel_nonexistent_order ... ok
[INFO] [stdout] test fok_exact_fill ... ok
[INFO] [stdout] test depth_empty_book ... ok
[INFO] [stdout] test fok_insufficient_liquidity ... ok
[INFO] [stdout] test ioc_partial_fill ... ok
[INFO] [stdout] test large_price ... ok
[INFO] [stdout] test limit_order_zero_qty ... ok
[INFO] [stdout] test market_order_empty_book ... ok
[INFO] [stdout] test stop_on_empty_book ... ok
[INFO] [stdout] test market_order_zero_qty ... ok
[INFO] [stdout] test symbol_empty_string ... ok
[INFO] [stdout] test symbol_try_new_exactly_9 ... ok
[INFO] [stdout] test symbol_try_new_exactly_8 ... ok
[INFO] [stdout] test very_small_price ... ok
[INFO] [stdout] test modify_nonexistent_order ... ok
[INFO] [stderr]      Running tests/portfolio_invariants.rs (/opt/rustwide/target/debug/deps/portfolio_invariants-4f98c1bd815f1c46)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/proptest_invariants.rs (/opt/rustwide/target/debug/deps/proptest_invariants-730ed2dbef2bbdc2)
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 18 tests
[INFO] [stdout] test fok_all_or_nothing ... ok
[INFO] [stdout] test cancelled_stop_never_triggers ... ok
[INFO] [stdout] test ioc_never_rests ... ok
[INFO] [stdout] test cancel_removes_order ... ok
[INFO] [stdout] test regression_single_order_depth ... ok
[INFO] [stdout] test regression_empty_book_depth ... ok
[INFO] [stdout] test quantity_conservation ... ok
[INFO] [stdout] test stop_limit_quantity_conservation ... ok
[INFO] [stdout] test stop_market_triggers_produce_valid_trades ... ok
[INFO] [stdout] test depth_sorted_correctly ... ok
[INFO] [stdout] test trades_within_price_limit ... ok
[INFO] [stdout] test trade_ids_sequential ... ok
[INFO] [stdout] test trade_timestamps_monotonic ... ok
[INFO] [stdout] test book_quantity_consistency ... ok
[INFO] [stdout] test no_crossed_book ... ok
[INFO] [stdout] test deterministic_replay ... ok
[INFO] [stdout] test non_negative_spread ... ok
[INFO] [stdout] test stop_cascade_bounded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.10s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/safety_tests.rs (/opt/rustwide/target/debug/deps/safety_tests-c31b242a977d3859)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test symbol_truncated_exact_8 ... ok
[INFO] [stdout] test symbol_truncated_all_ascii_normal ... ok
[INFO] [stdout] test symbol_truncated_long_string ... ok
[INFO] [stdout] test symbol_truncated_unicode_boundary ... ok
[INFO] [stdout] test symbol_truncated_9_bytes ... ok
[INFO] [stdout] test symbol_truncated_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests nanobook
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test src/lib.rs - (line 115) ... ignored
[INFO] [stdout] test src/indicators.rs - indicators::rsi (line 129) ... ok
[INFO] [stdout] test src/lib.rs - (line 39) ... ok
[INFO] [stdout] test src/cv.rs - cv::time_series_split (line 30) ... ok
[INFO] [stdout] test src/lib.rs - (line 76) ... ok
[INFO] [stdout] test src/types.rs - types::Symbol (line 66) ... ok
[INFO] [stdout] test src/lib.rs - (line 18) ... ok
[INFO] [stdout] test src/lib.rs - (line 92) ... ok
[INFO] [stdout] test src/trade.rs - trade::Trade::vwap (line 70) ... ok
[INFO] [stdout] test src/lib.rs - (line 54) ... ok
[INFO] [stdout] test src/multi_exchange.rs - multi_exchange::MultiExchange (line 11) ... ok
[INFO] [stdout] test src/lib.rs - (line 136) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.08s; merged doctests compilation took 1.04s
[INFO] running `Command { std: "docker" "inspect" "5dd47a33925ef1336c8e304b93c42814784f190322aa4c46e99582e52f4fdf0b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5dd47a33925ef1336c8e304b93c42814784f190322aa4c46e99582e52f4fdf0b", kill_on_drop: false }`
[INFO] [stdout] 5dd47a33925ef1336c8e304b93c42814784f190322aa4c46e99582e52f4fdf0b
